package com.yqh.dao;

import com.yqh.dto.ProductCategorySearchDTO;
import com.yqh.entity.ProductCategory;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 商品分类模块
 *
 * @author 阳秋豪
 * @createTime 2024/3/22
 */
@Mapper
public interface ProductCategoryDao {
    /**
     * 条件分页查询
     *
     * @param productCategorySearchDTO 查询参数
     * @return 商品分页表信息
     */
    List<ProductCategory> getSearchProduct(@Param("searchParam") ProductCategorySearchDTO productCategorySearchDTO);

    @Select("select * from product_category where product_category_name=#{productCategoryName}")
    ProductCategory findByProductName(String productCategoryName);

    /**
     * 添加商品分类
     *
     * @param productCategoryName 商品分类名称
     */
    @Insert("insert into product_category(product_category_name) values (#{productCategoryName})")
    void addProductCategory(String productCategoryName);

    /**
     * 修改商品分类
     *
     * @param productCategory 商品信息
     */
    void updateProductCategory(@Param("productCategory") ProductCategory productCategory);

    /**
     * 删除商品分类
     * @param productCategoryId 商品分类编号
     */
    @Delete("delete from product_category where product_category_id=#{productCategoryId}")
    void deleteProductCategory(Integer productCategoryId);

    /**
     * 查询所有商品分类信息
     * @return 所有商品分类信息
     */
    @Select("select * from product_category")
    List<ProductCategory> getAllProductCategory();
}
